package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.mobile.company.domain.vo.*;
import com.ruoyi.mobile.user.domain.vo.*;
import com.ruoyi.system.domain.CompanyInfo;

import java.rmi.ServerException;
import java.util.List;

/**
 * 用户 业务层
 *
 * @author ruoyi
 */
public interface IMobileUserService
{
     SysUser selectUserByPhone(String phone);
     SysUser selectUserByPhoneUserType(String phone,String userType);

    void bindingPhone(UserCodeVO userCodeVO);

    void updateName(UpdateUserNameVO userNameVO);

    UserVO getOne();

    CompanyVO getCompanyOne();

    void updateUserPasswordVO(UpdateUserPasswordVO updateUserPasswordVO) throws ServerException;
    void updateUserPasswordPhone(UpdateUserPasswordPhoneVO phoneVO) throws ServerException;

    AjaxResult<CompanyInfo> registerCompany(CompanyAddVO companyAddVO) throws Exception;

    void updateCompanyPasswordVO(UpdateCompanyPasswordVO passwordVO);

    AjaxResult<CompanyInfo> validate_company_code(String unifiedSocialCreditCode);

    List<UserListVO> selectUserList(UserSearchVO userSearchVO);

    List<CompanyListVO> selectCompanyUserList(CompanySearchVO companySearchVO);

    void validateCompany(CompanyValidateVO validateVO);

    void validateCompanyState(CompanyValidateVO validateVO);

    AjaxResult<CompanyInfo> authentication(CompanyAuthenticationVO companyAuthenticationVO) throws Exception;

    CompanyInfo getCompanyOnDesc();

//    String sendCodePhone(SendCodeVO sendCodeVO);
//
//    Object loginUser(UserLoginVO userLoginVO) throws Exception;
}
